// 接口API请求函数
import request from '@/utils/request';
import type { LoginData, LoginResponseData, UserInfo } from './types/acl';

enum API_URL {
  // 登录 POST {username, password}
  LOGIN = "/admin/acl/index/login",
  // 获取用户信息 GET
  USER_INFO = "/admin/acl/index/info",
  // 登出 POST
  LOGOUT = "/admin/acl/index/logout",
}

// 登录
// 为什么不用第1个参数，根据 request 设置的 响应拦截器中对axios的response进行了简化
// 泛型：第2个参数，定义当前接口响应数据的ts类型 
export const reqUserLogin = (data: LoginData) => request.post<any, LoginResponseData>(API_URL.LOGIN, data);

// 用户信息
export const reqUserInfo = () => request.get<any, UserInfo>(API_URL.USER_INFO)

// 登出
export const reqUserLogout = () => request.get<any, any>(API_URL.LOGOUT);
